Contact centers, such as Automatic Call Distribution or ACD systems, are employed by many enterprises to service customer contacts. A typical contact center includes a switch and/or server to receive and route incoming packet-switched and/or circuit-switched contacts and one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming contacts. Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria. In many existing systems, the criteria for servicing the contact from the moment that the contact center becomes aware of the contact until the contact is connected to an agent are customer-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring. Normally in present-day ACDs when the ACD system's controller detects that an agent has become available to handle a contact, the controller identifies all predefined contact-handling skills of the agent (usually in some order of priority) and delivers to the agent the highest-priority oldest contact that matches the agent's highest-priority skill. Generally, the only condition that results in a contact not being delivered to an available agent is that there are no contacts waiting to be handled.
An important factor in administering call distribution algorithms and rewarding agents based on performance is accurate tracking and reporting of agent performance. In monitoring agent performance, two areas are particularly troublesome. First, how should one track the previewing of work that is new or has been deferred while deciding what to do next? As will be appreciated, when an agent previews a work item, he or she is typically provided with a summary or condensed description of one or more work items (which can include, for example, contactor identity, nature or subject of the contact, arrival time, type of media, and intended recipient) and, based on the description, decides whether he or she is qualified or otherwise able to service the contact and/or prepares himself or herself to service the contact. Consideration must be given to performance when scrolling through a list of work items, like email, in a preview mode prior to selecting a work item. Second, how should one track work time when it appears that the agent is working on more than one thing simultaneously? For example, an agent is handling a first contact on a first communication medium (e.g., a live voice contact) for a first customer while at the same time handling a second contact on a second communication medium (e.g., an email or Web chat) for a second customer. More specifically, the agent does not have the first or second contact on hold while intermittently working on or wrapping up the other contact (completing the after call work). It is desirable to track accurately the agent's time for each work item. Inaccurate tracking can lead to nonsensical results, such as showing agents being present for more time than they are actually present and/or showing agent occupancy levels greater than 100%. Such erroneous results can propagate into significant errors in administering the call distribution algorithm. Moreover in some applications, the contact center may wish to discourage multi-tasking due to a concomitant decrease in the quality of service.
While tracking voice contacts is well established and accurate in the industry, the tracking of other channels or communication media (e.g., email, chat) is neither established nor accurate. For example, an agent using Avaya Inc.'s Interaction Center™ can read an entire email or web chat by previewing it and have that time counted as idle time or against another work item. It is only when the agent replies (because it requires explicit input) that accurate accounting for that email or web chat begins. Since it is impossible to know what work item an agent is thinking about without explicit agent input, multi-tasking tracking has not been done effectively. For example, the agent can be listening to a caller while at the same time concentrating on reading an email or web chat.